package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 员工考核计划----Dmy对象 assessment_plan
 * 
 * @author dmy
 * @date 2025-05-30
 */
public class AssessmentPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 考核计划ID，主键 */
    private Long id;

    /** 考核计划名称 */
    @Excel(name = "考核计划名称")
    private String name;

    /** 考核部门ID，关联部门表 */
    @Excel(name = "考核部门ID，关联部门表")
    private Long departmentId;

    /** 考核周期类型：月度/季度/年度/自定义 */
    @Excel(name = "考核周期类型：月度/季度/年度/自定义")
    private String cycleType;

    /** 考核周期，如：2023-Q1 */
    @Excel(name = "考核周期，如：2023-Q1")
    private String cycle;

    /** 考核状态：草稿/进行中/已完成 */
    @Excel(name = "考核状态：草稿/进行中/已完成")
    private String status;

    /** 考核指标id、关联考核指标表 */
    @Excel(name = "考核指标id、关联考核指标表")
    private String performanceaccessmentId;

    /** 考核人ID，关联员工表 */
    @Excel(name = "考核人ID，关联员工表")
    private Long assessorId;

    /** 考核开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考核开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 删除标志（0代表存在 2代表删除） */
    private Long delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }

    public void setCycleType(String cycleType) 
    {
        this.cycleType = cycleType;
    }

    public String getCycleType() 
    {
        return cycleType;
    }

    public void setCycle(String cycle) 
    {
        this.cycle = cycle;
    }

    public String getCycle() 
    {
        return cycle;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setPerformanceaccessmentId(String performanceaccessmentId) 
    {
        this.performanceaccessmentId = performanceaccessmentId;
    }

    public String getPerformanceaccessmentId() 
    {
        return performanceaccessmentId;
    }

    public void setAssessorId(Long assessorId) 
    {
        this.assessorId = assessorId;
    }

    public Long getAssessorId() 
    {
        return assessorId;
    }

    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }

    public void setDelFlag(Long delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("departmentId", getDepartmentId())
            .append("cycleType", getCycleType())
            .append("cycle", getCycle())
            .append("status", getStatus())
            .append("performanceaccessmentId", getPerformanceaccessmentId())
            .append("assessorId", getAssessorId())
            .append("startDate", getStartDate())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
